﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace JavaDevToys.Rcl.Models
{
    // 表示一个参数的信息
    public class ParameterInfo
    {
        public string ParameterName { get; set; }
        public bool IsRequired { get; set; }
        public string DataType { get; set; }
        public string Description { get; set; }
        public bool IsComplexType { get; set; }
        public string Remarks { get; set; }
        public string ClassName { get; set; }
        public Dictionary<string, List<ParameterInfo>> ComplexResponseParameters { get; set; }=new  Dictionary<string, List<ParameterInfo>>();
    }

    // 表示一个复杂类型的参数（嵌套类）
    public class ComplexParameter
    {
        public string ClassName { get; set; }
        public List<ParameterInfo> Parameters { get; set; } = new List<ParameterInfo>();
    }

    // 表示API的整体信息
    public class ApiInfo
    {
        /// <summary>
        /// C#使用
        /// </summary>
        public string back_server_name { get; set; }
        public string ApiName { get; set; }
        public string ClassName { get; set; }
        public string MethodName { get; set; }
        public bool IsPaginated { get; set; }
        public string Description { get; set; }
        public List<ParameterInfo> RequestParameters { get; set; } = new List<ParameterInfo>();
        public List<ParameterInfo> ResponseParameters { get; set; } = new List<ParameterInfo>();
        public Dictionary<string, List<ParameterInfo>> DtoParameters { get; set; } = new Dictionary<string, List<ParameterInfo>>(); // 动态 DTO 参数
    }

}
